package com.epfly.iface.promo.activity;

import com.epfly.base.vo.BaseResp;
import com.epfly.base.vo.PageResp;
import com.epfly.base.vo.RowsResp;
import com.epfly.iface.promo.activity.vo.*;

public interface ActivityService {


    /**
     * 活动新增
     */
    ActivityAddAndUpdateResp performActivityAdd(ActivityAddAndUpdateRequest activityAddRequest);

    /**
     * 活动列表
     */
    PageResp<ActivityListVo> performActivityList(ActivityListRequest activityListRequest);

    /**
     * 修改活动启用状态
     */
    BaseResp alterActivityIsActive(AlterActivityIsActiveRequest request);

    /**
     * 终结活动
     */
    BaseResp performActivityTerminated(ActivityTerminatedRequest request);

    /**
     * 更新活动
     */
    BaseResp performActivityUpdate(ActivityAddAndUpdateRequest activityUpdateRequest);

    /**
     * 活动明细
     */
    ActivityDetailResp performActivityDetail(Long activityId);

    /**
     * 统计档口在某个活动日期范围内涉及的活动数量
     */
    RowsResp<StoreCountVo> storeCount(StoreCountRequest request);

    /**
     * 查询可享受折扣金额
     */
    GetDiscountAmountResp getDiscountAmount(GetDiscountAmountRequest request);

    /**
     * 查询可享受折扣金额和活动约束信息
     */
    GetDiscountAmountWithBoundResp getDiscountAmountWithBound(GetDiscountAmountWithBoundRequest request);




}
